package com.freemalll.merchant.domain.vo.coopManagement;

import com.freemalll.merchant.domain.dto.coopManagement.AssetRateDetailEditDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author songshixiong
 * @ClassName AssetRatePageVo
 * @description:
 * @date 2025年05月19日
 * @version: 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AssetRatePageVo {

    @Schema(description = "费率id")
    private String rateId;

    @Schema(description = "资方id")
    private String sourceId;

    @Schema(description = "资方名称")
    private String sourceName;

    @Schema(description = "模版名称")
    private String templateName;

    @Schema(description = "模版编码")
    private String templateCode;

    @Schema(description = "启用状态 0 禁用 1 启用")
    private Boolean enableFlag;

    @Schema(description = "息费模式 COMMERCIAL_STICKERS:商贴 GUEST_POST：客贴 INTEREST_PER_MENS：月息 BUSINESS_MONTH：商月")
    private String interestAndFeeModel;

    @Schema(description = "息费模式详细 COMMERCIAL_STICKERS:商贴 GUEST_POST：客贴 INTEREST_PER_MENS：月息")
    private String interestAndFeeDetailModel;

    @Schema(description = "费率区间 最低")
    private BigDecimal minimumRate;

    @Schema(description = "费率区间 最高")
    private BigDecimal highestRate;

    @Schema(description = "支持期数")
    private String supportPeriods;

    @Schema(description = "是否支持36期 默认为不支持")
    private Boolean isSupportPhaseThirtySix = false;

    @Schema(description = "3期")
    private AssetRateDetailEditDto phaseThere;

    @Schema(description = "6期")
    private AssetRateDetailEditDto phaseSix;

    @Schema(description = "9期")
    private AssetRateDetailEditDto phaseNine;

    @Schema(description = "12期")
    private AssetRateDetailEditDto phaseTwelve;

    @Schema(description = "18期")
    private AssetRateDetailEditDto phaseEighteen;

    @Schema(description = "24期")
    private AssetRateDetailEditDto phaseTwentyFour;

    @Schema(description = "36期")
    private AssetRateDetailEditDto phaseThirtySix;

    @Schema(description = "操作时间")
    private LocalDateTime createTime;

}
